import IdentityResourceClaim from './identity-resource-claim';
import IdentityResourceProperty from './identity-resource-property';

interface IIdentityResource {
  id?: string;
  enabled: boolean;
  name: string;
  displayName: string;
  description: string;
  required: boolean;
  emphasize: boolean;
  showInDiscover: boolean;
  created: string;
  updated: string;
  nonEditable: boolean;
  claims: Array<IdentityResourceClaim>
  properties: Array<IdentityResourceProperty>
}

export default class IdentityResource implements IIdentityResource {
  id?: string;
  enabled: boolean = true;
  name: string = '';
  displayName: string = '';
  description: string = '';
  required: boolean = false;
  emphasize: boolean = false;
  showInDiscover: boolean = true;
  created: string = '';
  updated: string = '';
  nonEditable: boolean = false;
  claims: IdentityResourceClaim[] = [];
  properties: IdentityResourceProperty[] = [];
}